package com.findroader.blog.service;

import java.util.List;
import java.util.Map;

import com.findroader.blog.dto.HomeArticleDTO;
import com.findroader.blog.dto.QueryParamDTO;
import com.findroader.blog.model.ArticleBean;
import com.findroader.blog.model.ArticleCommentsBean;
import com.findroader.blog.model.ArticleTypeBean;
import com.findroader.blog.page.Page;

public interface ArticleService {

	public abstract int save(ArticleBean article);

	public abstract int update(ArticleBean article);

	public abstract int delete(int id);

	public abstract ArticleBean get(int id);

	public Page<HomeArticleDTO> queryArticleList(Page<HomeArticleDTO> page,QueryParamDTO queryParam);
	
	public Page<ArticleBean> queryArticleList(Page<ArticleBean> page,
			Map<String, Object> param);
	
	public abstract int comment(ArticleCommentsBean comments);

	public abstract int reply(String reply, int commentId);

	public abstract int saveArticleType(ArticleTypeBean type);

	public abstract int updateType(ArticleTypeBean type);

	public abstract int deleteType(int key);

	public abstract int deleteComment(int commentId);
	
	public ArticleTypeBean getType(String typeKey);
	
	public List<ArticleTypeBean> queryTypeList();
	
	public Page<ArticleCommentsBean> queryAllComments(Page<ArticleCommentsBean> page, QueryParamDTO param);

}